// --------------------------------------------------------------------------------------------------------------------
// <copyright file="SearchScopeInfo.cs" company="Collaboris Ltd.">
//   Copyright (c) Collaboris Ltd. All rights Reserved.
// </copyright>
// <summary>
//   Defines the SearchScopeInfo type.
//   Note: This is based on the SSPC (codeplex).
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Collaboris.Saf.Actions.Moss.Entities
{
    using System;
    using System.Xml.Serialization;

    using Microsoft.Office.Server.Search.Administration;

    using SharePoint.Wss.Entities;

    using Spring.Objects;
    using Collaboris.SharePoint.Moss.Search;

    /// <summary>
    /// Used to contain a SearchScopeInformation.
    /// </summary>
    [Serializable]
    public class SearchScopeInfo : WSSEntityBase
    {
        private string alternateResultsPage;
        private string description;
        private bool displayInAdminUI;
        private string name;
        private SearchRulesCollection rules;

        [XmlAttribute]
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        [XmlAttribute]
        public string AlternateResultsPage
        {
            get { return alternateResultsPage; }
            set { alternateResultsPage = value; }
        }

        [XmlAttribute]
        public string Description
        {
            get { return description; }
            set { description = value; }
        }

        [XmlAttribute]
        public bool DisplayInAdminUI
        {
            get { return displayInAdminUI; }
            set { displayInAdminUI = value; }
        }

        [XmlElement]
        public SearchRulesCollection Rules
        {
            get { return rules; }
            set { rules = value; }
        }
    }
}